home *** CD-ROM | disk | FTP | other *** search
/ Scene 96 / Scene 96 International Edition (Zyklop Software) (Disc 2) (1997).iso / misc / coding / midas060 / src / pas.inc < prev    next >
Encoding:
Text File  |  1997-01-16  |  17.5 KB  |  522 lines

  1. ;*    PAS.INC
  2. ;*
  3. ;* Include files for Pro Audio Spectrum Sound Device
  4. ;*
  5. ;* $Id: pas.inc,v 1.3 1997/01/16 18:41:59 pekangas Exp $
  6. ;*
  7. ;* Copyright 1996,1997 Housemarque Inc.
  8. ;*
  9. ;* This file is part of the MIDAS Sound System, and may only be
  10. ;* used, modified and distributed under the terms of the MIDAS
  11. ;* Sound System license, LICENSE.TXT. By continuing to use,
  12. ;* modify or distribute this file you indicate that you have
  13. ;* read the license and understand and accept it fully.
  14. ;*
  15.  
  16. ; This file includes necessary pieces from the PAS SDK include files
  17.  
  18.  
  19. DEFAULT_BASE    EQU    00388h        ;; default base I/O address
  20. ALT_BASE_1    EQU    00384h        ;; first alternate address
  21. ALT_BASE_2    EQU    0038Ch        ;; second alternate address
  22. ALT_BASE_3    EQU    00288h        ;; third alternate address
  23. USE_ACTIVE_ADDR EQU    00000h        ;; uses what is currently active
  24.  
  25. pAUDIOMIXR    EQU    0078Bh        ;; Parallel interface Audio Mixer Reg
  26. AUDIOMIXR    EQU    00B88h        ;; Audio Mixer Control Register
  27. AUDIOFILT    EQU    00B8Ah        ;; Audio Filter Control Register
  28. INTRCTLRST    EQU    00B89h        ;; Interrupt Control Status Register
  29. INTRCTLR    EQU    00B8Bh        ;; Interrupt Control Register write
  30. INTRCTLRRB    EQU    00B8Bh        ;; Interrupt Control Register read back
  31. PCMDATA     EQU    00F88h        ;; PCM data I/O register (low byte)
  32. PCMDATAH    EQU    00F89h        ;; PCM data I/O register (high byte)
  33. CROSSCHANNEL    EQU    00F8Ah        ;; Cross Channel Register
  34. SAMPLERATE    EQU    01388h        ;; (t0) Sample Rate Timer Register
  35. SAMPLECNT    EQU    01389h        ;; (t1) Sample Count Register
  36. SPKRTMR     EQU    0138Ah        ;; (t2) Local Speaker Timer Address
  37. TMRCTLR     EQU    0138Bh        ;; Local Timer Control Register
  38. MDIRQVECT    EQU    01788H        ;; MIDI-0 IRQ Vector Register
  39. MDSYSCTLR    EQU    01789H        ;; MIDI-1 System Control Register
  40. MDSYSSTAT    EQU    0178AH        ;; MIDI-2 IRQ Status Register
  41. MDIRQCLR    EQU    0178BH        ;; MIDI-3 IRQ Clear Register
  42. MDGROUP4    EQU    01B88H        ;; MIDI-4 Group #1 Register (MDGROUP1)
  43. MDGROUP5    EQU    01B89H        ;; MIDI-5 Group #2 Register (MDGROUP2)
  44. MDGROUP6    EQU    01B8AH        ;; MIDI-6 Group #3 Register (MDGROUP3)
  45. MDGROUP7    EQU    01B8BH        ;; MIDI-7 Group #4 Register (MDGROUP4)
  46.  
  47. ;
  48. ; mixer select
  49. ;
  50. OUTPUTMIXER    equ    00h        ;; output mixer H/W select
  51. INPUTMIXER    equ    40h        ;; input mixer select
  52. DEFMIXER    equ    -1        ;; use last mixer selected
  53. MIXERMAX    equ    1fh        ;; maximum mixer setting
  54.  
  55. MVVOLUMEMAX    equ    3fh        ;; MVA508 maximum mixer setting
  56. NSVOLUMEMAX    equ    28h        ;; National maximum mixer setting
  57.  
  58. EQUALIZERMAX    equ    0ch        ;; maximum equalizer setting
  59. EQUALIZERMID    equ    06h        ;; maximum mid setting
  60.  
  61. ;
  62. ;    Filter register bits
  63. ;
  64. fFIdatabits    equ    00011111B    ;; filter select and decode field bits
  65. fFImutebits    equ    00100000B    ;; filter mute field bits
  66. fFIpcmbits    equ    11000000B    ;; filter sample rate field bits
  67. bFImute     equ    00100000B    ;; filter mute bit
  68. bFIsrate    equ    01000000B    ;; filter sample rate timer mask
  69. bFIsbuff    equ    10000000B    ;; filter sample buffer counter mask
  70. FILTERMAX    equ    6        ;; six possible settings
  71.  
  72. ;
  73. ;    Cross Channel Bit definitions
  74. ;
  75. fCCcrossbits    EQU    00001111B    ;; cross channel bit field
  76. fCCpcmbits    EQU    11110000B    ;; pcm/dma control bit field
  77. bCCr2r        EQU    00000001B    ;; CROSSCHANNEL Right to Right
  78. bCCl2r        EQU    00000010B    ;; CROSSCHANNEL Left  to Right
  79. bCCr2l        EQU    00000100B    ;; CROSSCHANNEL Right to Right
  80. bCCl2l        EQU    00001000B    ;; CROSSCHANNEL Left  to Left
  81. bCCdac        EQU    00010000B    ;; DAC/ADC Control
  82. bCCmono     EQU    00100000B    ;; PCM Monaural Enable
  83. bCCenapcm    EQU    01000000B    ;; Enable PCM state machine
  84. bCCdrq        EQU    10000000B    ;; Enable DRQ bit
  85.  
  86. ;
  87. ;    Interrupt Control Register Bits
  88. ;
  89. fICintmaskbits    EQU    00011111B    ;; interrupt mask field bits
  90. fICrevbits    EQU    11100000B    ;; revision mask field bits
  91. fICidbits    EQU    11100000B    ;; Board revision ID field bits
  92. bICleftfm    EQU    00000001B    ;; Left FM interrupt enable
  93. bICritfm    EQU    00000010B    ;; Right FM interrupt enable
  94. bICsamprate    EQU    00000100B    ;; Sample Rate timer interrupt enable
  95. bICsampbuff    EQU    00001000B    ;; Sample buffer timer interrupt enable
  96. bICmidi     EQU    00010000B    ;; MIDI interrupt enable
  97.    fICrevshr    EQU    5        ;; rotate rev bits to lsb
  98.  
  99. ;
  100. ;    Interrupt Status Register Bits
  101. ;
  102. fISints     EQU    00011111B    ;; Interrupt bit field
  103. bISleftfm    EQU    00000001B    ;; Left FM interrupt active
  104. bISritfm    EQU    00000010B    ;; Right FM interrupt active
  105. bISsamprate    EQU    00000100B    ;; Sample Rate timer interrupt active
  106. bISsampbuff    EQU    00001000B    ;; Sample buffer timer interrupt active
  107. bISmidi     EQU    00010000B    ;; MIDI interrupt active
  108. bISPCMlr    EQU    00100000B    ;; PCM left/right active
  109. bISActive    EQU    01000000B    ;; Hardware is active (not in reset)
  110. bISClip     EQU    10000000B    ;; Sample Clipping has occured
  111.  
  112. ;
  113. ;    cross channel channel #s
  114. ;
  115. RIGHT2RIGHT    equ    00h        ;; right to right
  116. LEFT2RIGHT    equ    01h        ;; left  to right
  117. RIGHT2LEFT    equ    02h        ;; right to left
  118. LEFT2LEFT    equ    03h        ;; left  to left
  119.  
  120. ;
  121. ; left/right mixer channel selection
  122. ;
  123.  
  124. ;    left channel values
  125.  
  126. L_FM        equ    01h
  127. L_IMIXER    equ    02h
  128. L_EXT        equ    03h
  129. L_INT        equ    04h
  130. L_MIC        equ    05h
  131. L_PCM        equ    06h
  132. L_SPEAKER    equ    07h
  133. L_FREE        equ    00h
  134. L_SBDAC     equ    00h
  135.  
  136. ;    right channel values
  137.  
  138. R_FM        equ    08h
  139. R_IMIXER    equ    09h
  140. R_EXT        equ    0Ah
  141. R_INT        equ    0Bh
  142. R_MIC        equ    0Ch
  143. R_PCM        equ    0Dh
  144. R_SPEAKER    equ    0Eh
  145. R_FREE        equ    0Fh
  146. R_SBDAC     equ    0Fh
  147.  
  148. ;    Mixer register bits
  149.  
  150. fMImixerbits    EQU    00010111B    ;; mixer control bit fields
  151. fMIspkrbits    EQU    01000000B    ;; speaker integrator field bits
  152. bMIdata     EQU    00000001B    ;; data bit
  153. bMIclock    EQU    00000010B    ;; clock strobe
  154. bMImistrb    EQU    00000100B    ;; mixer output strobe
  155. bMIna1        EQU    00001000B    ;; not used
  156. bMIvol        EQU    00010000B    ;; total volume enabled
  157. bMIna2        EQU    00100000B    ;; not used
  158. bMIspkrint    EQU    01000000B    ;; speaker integrator
  159. bMImonofm    EQU    10000000B    ;; make both FMs mono
  160.  
  161. bMIfmreset    EQU    bMIdata     ;; OPL3 FM chip reset
  162. bMIdacreset    EQU    bMIclock    ;; CODEC reset
  163. bMIsbreset    EQU    bMImistrb    ;; SB microprocessor reset
  164. bMI508reset    EQU    bMIvol        ;; MVA508 reset
  165.  
  166. ;    volume control channel #s
  167.  
  168. VOLMUTE     equ    40h        ;; MUTE button
  169. VOLLOUDENH    equ    41h        ;; LOUDNESS and ENHANCED STEREO switch
  170. VOLBASS     equ    42h        ;; BASS level setting
  171. VOLTREBLE    equ    43h        ;; TREBLE level setting
  172. VOLLEFT     equ    44h        ;; MASTER LEFT LEVEL settting
  173. VOLRIGHT    equ    45h        ;; MASTER RIGHT LEVEL settting
  174. VOLMODE     equ    46h        ;; Model Select Left/Stereo/Right
  175.  
  176. bVOLEbass    equ    0001b        ;; enhanced bass bit
  177. bVOLEstereo    equ    0010b        ;; enhanced stereo bit
  178.  
  179. ;    output control
  180.  
  181. pmADDRSELECT    equ    80h        ;; Parallel mixer addr select
  182. pmDATASELECT    equ    00h        ;; Parallel mixer data select
  183.  
  184. ;    mixer channel programming selection
  185.  
  186. pmCHANNELLR    equ    00h        ;; Left/Right channel select
  187. pmCHANNELL    equ    20h        ;; Left  channel only select
  188. pmCHANNELR    equ    40h        ;; Right channel only select
  189.  
  190. ;    device select
  191.  
  192. pmMIXERSELECT    equ    10h        ;; Parallel Mixer device select
  193. pmVOLUMESELECT    equ    00h        ;; Parallel Volume device select
  194.  
  195. ;    Volume Device selects
  196.  
  197. pmVOLUMEA    equ    01h        ;; Left/Right channel select
  198. pmVOLUMEB    equ    02h        ;; Left/Right channel select
  199. pmVOLUMEBASS    equ    03h        ;; Left/Right channel select
  200. pmVOLUMETREB    equ    04h        ;; Left/Right channel select
  201. pmVOLUMEMODE    equ    05h        ;; Left/Right channel select
  202.  
  203. ;    mixer selection
  204.  
  205. pmOUTPUTMIXER    equ    00h        ;; Mixer-A selection
  206. pmINPUTMIXER    equ    20h        ;; Mixer-B selection
  207.  
  208. ;    mixer channel swap
  209.  
  210. pmCHSWAP    equ    40h        ;; Mixer channel reroute
  211.                     ;;
  212. ;    int 2F application ID codes
  213.  
  214. INT2FCODE1    equ    0BCH        ;; Bryan's initials
  215.  
  216. ;    int 2F ID (func 0) return register values
  217.  
  218. INT2FREGBX    equ    6D00h        ;; 'm '
  219. INT2FREGCX    equ    0076h        ;; ' v'
  220. INT2FREGDX    equ    2020h        ;; UPPERCASE XOR MASK
  221.  
  222. ; hardware specific equates for the MV101 (digital ASIC)
  223.  
  224. MASTERADDRP    equ    09a01h        ;; Master Address Pointer    (w)
  225. MIDIPRESCALE    equ    01788h        ;; MIDI prescale         (r/w)
  226. MIDITIMER    equ    01789h        ;; MIDI Timer             (r/w)
  227. MIDIDATA    equ    0178ah        ;; MIDI Data             (r/w)
  228. MIDICONTROL    equ    0178bh        ;; MIDI Control          (r/w)
  229. MIDISTATUS    equ    01b88h        ;; MIDI Status             (r/w)
  230. MIDIFIFOS    equ    01b89h        ;; MIDI Fifo Status         (r/w)
  231. MIDICOMPARE    equ    01b8ah        ;; MIDI Compare Time         (r/w)
  232. MIDITEST    equ    01b8bh        ;; MIDI Test             (w)
  233. MASTERCHIPR    equ    0ff88h        ;; Master Chip Rev         (r)
  234. SLAVECHIPR    equ    0ef88h        ;; Slave Chip Rev         (r)
  235. ENHANCEDSCSI    equ    07f89h        ;; Enhanced SCSI detect port
  236. SYSCONFIG1    equ    08388h        ;; System Config 1         (r/w)
  237. SYSCONFIG2    equ    08389h        ;; System Config 2         (r/w)
  238. SYSCONFIG3    equ    0838ah        ;; System Config 3         (r/w)
  239. SYSCONFIG4    equ    0838bh        ;; System Config 4         (r/w)
  240. IOCONFIG1    equ    0f388h        ;; I/O Config 1          (r/w)
  241. IOCONFIG2    equ    0f389h        ;; I/O Config 2          (r/w)
  242. IOCONFIG3    equ    0f38ah        ;; I/O Config 3          (r/w)
  243. IOCONFIG4    equ    0f38bh        ;; I/O Config 4          (r/w)
  244. COMPATREGE    equ    0f788h        ;; Compatible Rgister Enable (r/w)
  245. EMULADDRP    equ    0f789h        ;; Emulation Address Pointer (r/w)
  246. WAITSTATE    equ    0bf88h        ;; Wait State             (r/w)
  247. PUSHBUTTON    equ    0e388h        ;; Push Button (slave)         (???)
  248. AUXINTSTAT    equ    0e38ah        ;; Aux Int Status         (???)
  249. AUXINTENA    equ    0e38bh        ;; Aux Int Enable         (???)
  250. OVRSMPPRE    equ    0bf8ah        ;; Over Sample Prescale      (r/w)
  251. ANALSERD    equ    0bf89h        ;; Analog Chip Serial Data   (w)
  252. MASTERMODRD    equ    0ff8bh        ;; Master Mode Read         (r)
  253. SLAVEMODRD    equ    0ef8bh        ;; Slave Mode Read         (r)
  254. INTWATCHDOG    equ    0fb8bh        ;; Interrupt Watch Dog         (???)
  255. MASTERuPDATA    equ    0fb88h        ;; Master uP Data         (???)
  256. MASTERuPCMD    equ    0fb89h        ;; Master uP Command/Status  (???)
  257. MASTERuPRST    equ    0fb8ah        ;; Master uP Restart         (???)
  258. SLAVEuPDATA    equ    0eb88h        ;; Slave uP Data         (???)
  259. SLAVEuPCMD    equ    0eb88h        ;; Slave uP Command/Status   (???)
  260. SLAVEuPRST    equ    0eb88h        ;; Slave uP Restart         (???)
  261. CDTOCOUNTER    equ    04388h        ;; CD-ROM timeout counter    (r/w)
  262. CDTOSTAT    equ    04389h        ;; CD-ROM timeout status     (r/w)
  263. LEFTVURD    equ    02388h        ;; Left VU Read          (r)
  264. RITVURD     equ    02389h        ;; Right VU Read         (r)
  265.  
  266. SBRST        equ    00206h        ;; SB Reset             (w)
  267. SBDATA        equ    0020Ah        ;; SB Data Read          (r)
  268. SBCMD        equ    0020Ch        ;; SB CMD Write/Status Read  (r/w)
  269. SBSTAT        equ    0020Eh        ;; SB Data Status         (r)
  270. MPUDATA     equ    00300h        ;; MPU-401 data reg         (r/w)
  271. MPUCMD        equ    00301h        ;; MPU-401 command reg         (r/w)
  272.  
  273. ; Sys Config 1
  274.  
  275. bSC1timena    equ    00000001b    ;; shadow enable
  276. bSC1pcmemu    equ    00000010b    ;; PCM Emulation of PAS1
  277. bSC128mhz    equ    00000100b    ;; 28mhz clock divisor
  278. bSC1invcom    equ    00001000b    ;; invert COM port interrupt input
  279. bSC1stspea    equ    00010000b    ;; stereoize pc speaker
  280. bSC1realsnd    equ    00100000b    ;; smart real sound emulatio
  281. bSC1d6        equ    01000000b    ;;
  282. bSC1mstrst    equ    10000000b    ;; master chip reset
  283.  
  284. ; Sys Config 2
  285.  
  286. bSC2ovrsmp    equ    00000011b    ;; oversampling 0,1,2,4
  287. bSC216bit    equ    00000100b    ;; 16 bit audio
  288. bSC212bit    equ    00001000b    ;; 12 bit interleaving (d2 must be set too)
  289. bSC2msbinv    equ    00010000b    ;; invert MSB from standard method
  290. bSC2slavport    equ    01100000b    ;; slave port bits
  291. bSC2vcolock    equ    10000000b    ;; VCO locked (Sample Rate Clock Valid)
  292.  
  293. ; Sys Config 3
  294.  
  295. bSC328mhzfil    equ    00000001b    ;; PCM Rate uses 28mhz
  296. bSC31mhzsb    equ    00000010b    ;; 1mhz timer for SB sample rate
  297. bSC3vcoinv    equ    00000100b    ;; invert VCO output
  298. bSC3bclkinv    equ    00001000b    ;; invert BCLK form 16 bit DAC
  299. bSC3lrsync    equ    00010000b    ;; 0=L/R, 1 = Sync Pulse
  300. bSC3d5        equ    00100000b    ;;
  301. bSC3d6        equ    01000000b    ;;
  302. bSC3d7        equ    10000000b    ;;
  303.  
  304. ; Sys Config 4
  305.  
  306. bSC4drqahi    equ    00000001b    ;; DRQ from drive active high
  307. bSC4dackahi    equ    00000010b    ;; DRQ from drive active high
  308. bSC4intahi    equ    00000100b    ;; INT from drive active high
  309. bSC4drqvalid    equ    00001000b    ;; DRQ line valid from drive
  310. bSC4comena    equ    00010000b    ;; enable COM interrupt
  311. bSC4enascsi    equ    00100000b    ;; enable SCSI interrupt
  312. bSC4drqptr    equ    11000000b    ;; DRQ timing pointer bits
  313.  
  314. ; I/O Config 1
  315.  
  316. bIC1ps2ena    equ    00000001b    ;; Enable Chip (PS2 only)
  317. bIC1comdcd    equ    00000110b    ;; COM port decode pointer
  318. bIC1comint    equ    00111000b    ;; COM port interrupt pointer
  319. bIC1joyena    equ    01000000b    ;; Enable joystick read
  320. bIC1wporena    equ    10000000b    ;; Enable warm boot reset
  321.  
  322. ; I/O Config 2
  323.  
  324. bIC2dmaptr    equ    00000111b    ;; DMA channel select
  325.  
  326. ;;bIC28dmaptr    equ    00001111b    ;;  8 bit DMA channel select
  327. ;;bIC216dmaptr    equ    11110000b    ;; 16 bit DMA channel select
  328.  
  329. ; I/O Config 3
  330.  
  331. bIC3pcmint    equ    00001111b    ;; pcm IRQ channel select
  332. bIC3cdint    equ    11110000b    ;; cd  IRQ channel select
  333.  
  334. ; Compatibility Register
  335.  
  336. cpMPUEmulation    equ    00000001b    ;; MPU emuation is on bit
  337. cpSBEmulation    equ    00000010b    ;; SB emuation is on bit
  338.  
  339. ; Emulation Address Pointer
  340.  
  341. epSBptr     equ    00001111b    ;; bit field for SB emulation
  342. epMPUptr    equ    11110000b    ;; bit field for MPU emulation
  343.  
  344. ; Slave Mode Read
  345.  
  346. bSMRDdrvtyp    equ    00000011b    ;; drive interface type
  347. bSMRDfmtyp    equ    00000100b    ;; FM chip type
  348. bSMRDdactyp    equ    00001000b    ;; 16 bit dac (1) or 8 bit dac (0)
  349. bSMRDimidi    equ    00010000b    ;; use internal MIDI
  350. bSMRDswrep    equ    10000000b    ;; switch is auto repeating
  351.  
  352. ; Master Mode Read
  353.  
  354. bMMRDatps2    equ    00000001b    ;; AT(1) or PS2(0) bus
  355. bMMRDtmremu    equ    00000010b    ;; timer emulation enabled
  356. bMMRDmsmd    equ    00000100b    ;; master/slave mode
  357. bMMRDslave    equ    00001000b    ;; slave power on or device present
  358. bMMRDattim    equ    00010000b    ;; xt/at timing
  359. bMMRDmstrev    equ    11100000b    ;; master  rev level
  360.  
  361. ; MIDI Control Register
  362.  
  363. bMCRenatstmp    equ    00000001b    ;; MIDI enable time stamp interrupt
  364. bMCRenacmptm    equ    00000010b    ;; MIDI enable compare time interrupt
  365. bMCRenafifoi    equ    00000100b    ;; MIDI enable FIFO input interrupt
  366. bMCRenafifoo    equ    00001000b    ;; MIDI enable FIFO output interrupt
  367. bMCRenafifooh    equ    00010000b    ;; MIDI enable FIFO output half int
  368. bMCRrstfifoi    equ    00100000b    ;; MIDI reset Input FIFO pointer
  369. bMCRrstfifoo    equ    01000000b    ;; MIDI reset Output FIFO pointer
  370. bMCRechoio    equ    10000000b    ;; MIDI echo input to output (THRU)
  371.  
  372. ; MIDI Status Register
  373.  
  374. bMSRtimstamp    equ    00000001b    ;; MIDI time stamp interrupt
  375. bMSRcmptime    equ    00000010b    ;; MIDI compare time interrupt
  376. bMSRififo    equ    00000100b    ;; MIDI input FIFO data avail interrupt
  377. bMSRofifo    equ    00001000b    ;; MIDI output FIFO empty interrupt
  378. bMSRofifohalf    equ    00010000b    ;; MIDI output FIFO half empty interrupt
  379. bMSRififoovr    equ    00100000b    ;; MIDI input FIFO overrun error
  380. bMSRofifoovr    equ    01000000b    ;; MIDI output FIFO overrun error
  381. bMSRframeerr    equ    10000000b    ;; MIDI frame error
  382.  
  383. ; MIDI FIFO count
  384.  
  385. bMFCififo    equ    00001111b    ;; MIDI input FIFO count
  386. bMFCofifo    equ    11110000b    ;; MIDI output FIFO count
  387.  
  388. ; Aux interrupt status/enable
  389.  
  390. bAUfmrit    equ    00000001b    ;; FM right interrupt
  391. bAUpushb    equ    00000010b    ;; push button active
  392. bAUslavecpu    equ    00000100b    ;; slave coprocessor
  393. bAUaux0int    equ    00001000b    ;; aux 0 interrupt
  394. bAUaux1int    equ    00010000b    ;; aux 1 interrupt
  395. bAUaux2int    equ    00100000b    ;; aux 2 interrupt
  396. bAUaux3int    equ    01000000b    ;; aux 3 interrupt
  397. bAUmastrcpu    equ    10000000b    ;; master coprocessor or emulation active
  398.  
  399. ; Push Buttons on the Front Panel
  400.  
  401. bPSHmute    equ    00000001b    ;; mute on the front panel
  402. bPSHdnarrow    equ    00000010b    ;; down arrow on the front panel
  403. bPSHuparrow    equ    00000100b    ;; up arrow on the front panel
  404. bPSauxbit1    equ    00001000b    ;; unused bit...
  405. bPSauxbit2    equ    00010000b    ;; unused bit...
  406. bPSauxbit3    equ    00100000b    ;; unused bit...
  407. bPSauxbit4    equ    01000000b    ;; unused bit...
  408. bPSauxbit5    equ    10000000b    ;; unused bit...
  409.  
  410.  
  411.  
  412.  
  413. STRUC    MVState
  414.   _sysspkrtmr     db    0    ;    42 System Speaker Timer Address
  415.   _systmrctlr     db    0    ;    43 System Timer Control
  416.   _sysspkrreg     db    0    ;    61 System Speaker Register
  417.   _joystick     db    0    ;   201 Joystick Register
  418.   _lfmaddr     db    0    ;   388 Left  FM Synth Address
  419.   _lfmdata     db    0    ;   389 Left  FM Synth Data
  420.   _rfmaddr     db    0    ;   38A Right FM Synth Address
  421.   _rfmdata     db    0    ;   38B Right FM Synth Data
  422.   _dfmaddr     db    0    ;   788 Dual  FM Synthesizer Address Register
  423.   _dfmdata     db    0    ;   789 Dual  FM Synthesizer Data Register
  424.          db    0    ;    reserved for future use
  425.   _paudiomixr     db    0    ;   78B Paralllel Audio Mixer Control
  426.   _audiomixr     db    0    ;   B88 Audio Mixer Control
  427.   _intrctlrst     db    0    ;   B89 Interrupt Status
  428.   _audiofilt     db    0    ;   B8A Audio Filter Control
  429.   _intrctlr     db    0    ;   B8B Interrupt Control
  430.   _pcmdata     db    0    ;   F88 PCM Data I/O Register
  431.   _RESRVD2     db    0    ;    reserved
  432.   _crosschannel  db    0    ;   F8A Cross Channel
  433.   _RESRVD3     db    0    ;    reserved
  434.   _samplerate     dw    0    ;  1388 Sample Rate Timer
  435.   _samplecnt     dw    0    ;  1389 Sample Count Register
  436.   _spkrtmr     dw    0    ;  138A Shadow Speaker Timer Count
  437.   _tmrctlr     db    0    ;  138B Shadow Speaker Timer Control
  438.   _mdirqvect     db    0    ;  1788 MIDI IRQ Vector Register
  439.   _mdsysctlr     db    0    ;  1789 MIDI System Control Register
  440.   _mdsysstat     db    0    ;  178A MIDI IRQ Status Register
  441.   _mdirqclr     db    0    ;  178B MIDI IRQ Clear Register
  442.   _mdgroup1     db    0    ;  1B88 MIDI Group #1 Register
  443.   _mdgroup2     db    0    ;  1B89 MIDI Group #2 Register
  444.   _mdgroup3     db    0    ;  1B8A MIDI Group #3 Register
  445.   _mdgroup4     db    0    ;  1B8B MIDI Group #4 Register
  446. ENDS
  447.  
  448.  
  449.  
  450.  
  451. ;;
  452. ;; Each product will some/all of of these features
  453. ;;
  454.  
  455. bMVA508     =    0000000000000001b    ; MVA508(1) or National(0)
  456. bMVPS2        =    0000000000000010b    ; PS2 bus stuff
  457. bMVSLAVE    =    0000000000000100b    ; CDPC Slave device is present
  458. bMVSCSI     =    0000000000001000b    ; SCSI interface
  459. bMVENHSCSI    =    0000000000010000b    ; Enhanced SCSI interface
  460. bMVSONY     =    0000000000100000b    ; Sony 535 interface
  461. bMVDAC16    =    0000000001000000b    ; 16 bit DAC
  462. bMVSBEMUL    =    0000000010000000b    ; SB h/w emulation
  463. bMVMPUEMUL    =    0000000100000000b    ; MPU h/w emulation
  464. bMVOPL3     =    0000001000000000b    ; OPL3(1) or 3812(0)
  465. bMV101        =    0000010000000000b    ; MV101 ASIC
  466. bMV101_REV    =    0111100000000000b    ; MV101 Revision
  467. bMV101_MORE    =    1000000000000000b    ; more bits in BX
  468.  
  469. ;;
  470. ;; Define the ASIC versions
  471. ;;
  472.  
  473. ASIC_VERSION_B    =    0000000000000010b    ; revision B
  474. ASIC_VERSION_C    =    0000000000000011b    ; revision C
  475. ASIC_VERSION_D    =    0000000000000100b    ; revision D
  476. ASIC_VERSION_E    =    0000000000000101b    ; revision E
  477. ASIC_VERSION_F    =    0000000000000110b    ; revision F
  478.  
  479. ;;
  480. ;; First Pro Audio Spectrum feature list
  481. ;;
  482. PRODUCT_PROAUDIO    =    bMVSCSI
  483.  
  484. ;;
  485. ;; Pro Audio Plus feature list
  486. ;;
  487. PRODUCT_PROPLUS     =    bMV101+      \
  488.                 bMVSCSI+     \
  489.                 bMVENHSCSI+  \
  490.                 bMVSBEMUL+   \
  491.                 bMVOPL3
  492. ;;
  493. ;; Pro Audio Spectrum 16 feature list
  494. ;;
  495. PRODUCT_PRO16        =    bMV101+      \
  496.                 bMVA508+     \
  497.                 bMVSCSI+     \
  498.                 bMVENHSCSI+  \
  499.                 bMVSBEMUL+   \
  500.                 bMVDAC16+    \
  501.                 bMVOPL3
  502. ;;
  503. ;; CDPC feature list
  504. ;;
  505. PRODUCT_CDPC        =    bMV101+      \
  506.                 bMVSLAVE+    \
  507.                 bMVSONY+     \
  508.                 bMVSBEMUL+   \
  509.                 bMVDAC16+    \
  510.                 bMVOPL3
  511.  
  512.  
  513. ;* $Log: pas.inc,v $
  514. ;* Revision 1.3  1997/01/16 18:41:59  pekangas
  515. ;* Changed copyright messages to Housemarque
  516. ;*
  517. ;* Revision 1.2  1996/05/30 22:38:46  pekangas
  518. ;* no changes?
  519. ;*
  520. ;* Revision 1.1  1996/05/22 20:49:33  pekangas
  521. ;* Initial revision
  522. ;*